From 5b5a68c5dbbcfd414cf3d3fda29a1b675c2d3c1f Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 31 Mar 2019 23:06:42 -0400 Subject: [PATCH] Fix filechooser search This makes the search entry show up again when I type. There is still some misbehavior where the entry loses focus again, and Escape does not work to exit search. --- gtk/gtkfilechooserwidget.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/gtk/gtkfilechooserwidget.c b/gtk/gtkfilechooserwidget.c index 1ced470793..dc5bab6176 100644 --- a/gtk/gtkfilechooserwidget.c +++ b/gtk/gtkfilechooserwidget.c @@ -1386,11 +1386,11 @@ key_press_cb (GtkEventController *controller, } static gboolean -widget_key_press_cb (GtkEventController *controller, - guint keyval, - guint keycode, - GdkModifierType state, - gpointer data) +widget_key_press_cb (GtkEventControllerKey *controller, + guint keyval, + guint keycode, + GdkModifierType state, + gpointer data) { GtkFileChooserWidget *impl = (GtkFileChooserWidget *) data; GtkFileChooserWidgetPrivate *priv = impl->priv; @@ -1409,8 +1409,10 @@ widget_key_press_cb (GtkEventController *controller, handled = TRUE; } } - else if (gtk_search_entry_handle_event (GTK_SEARCH_ENTRY (priv->search_entry), (GdkEvent *) event)) + else { + gtk_event_controller_key_forward (controller, priv->search_entry); + if (priv->operation_mode != OPERATION_MODE_SEARCH) operation_mode_set (impl, OPERATION_MODE_SEARCH); @@ -8502,6 +8504,8 @@ post_process_ui (GtkFileChooserWidget *impl) gtk_popover_set_relative_to (GTK_POPOVER (impl->priv->rename_file_popover), impl->priv->browse_files_tree_view); add_actions (impl); + + gtk_search_entry_set_key_capture_widget (GTK_SEARCH_ENTRY (impl->priv->search_entry), impl->priv->search_entry); } void -- 2.30.2